Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Desarrollo de Aplicaciones basado en Componentes y Frameworks (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3, 4

Monografias.com
11
(Gp:) Emisor

(Gp:) Receptor

(Gp:) Buffer

Arquitectura
Productor/Consumidor

Monografias.com
12
Objetivos de la AS
Comprender y manejar la estructura de las aplicaciones complejas
Reutilizar dicha estructura (o parte de ella)
Planificar la evolución de la aplicación
Analizar la corrección de la aplicación y su grado de cumplimiento frente a los requisitos iniciales
Permitir el estudio de propiedades específicas

Monografias.com
13
Ventajas de las A.S.
Resaltan aquellos aspectos estucturalmente importantes, tanto funcionales como no funcionales
Eliminan muchos riesgos y errores de diseño, desarrollo e implantación
Permiten un desarrollo paralelo, aumentando la productividad

Monografias.com
14
El “territorio” de las AS

Monografias.com
15
Modelo, Vista y Punto de Vista
Modelo (model)
Una descripción completa de un sistema a un determinado nivel de abstracción
Vista (view)
Una proyección de un modelo desde una perspectiva
Omite las entidades y elementos que no son relevantes
Punto de vista (viewpoint)
La definición (o descripción) de una vista
Prescribe su contenido, significado y representación

Monografias.com
16
Niveles de Abstracción
Estilos arquitectónicos
familias de sistemas que siguen el mismo patrón estructural
Modelos y arquitecturas de referencia
particularizan un estilo y definen los conceptos asociados
Marcos de Trabajo
arquitectura reutilizable en aplicaciones de un mismo dominio
Familias y líneas de productos
arquitectura de una aplicación con diferentes configuraciones
Instancias
arquitectura de una aplicación concreta

Monografias.com
17
Estilos Arquitectónicos
Componentes
unidades computacionales y de datos
Conectores
mecanismos de interacción entre componentes
Patrones y restricciones de interconexión
invariantes del estilo
Mecanismos de control
coordinación entre componentes
Propiedades
ventajas e inconvenientes

Monografias.com
18
Clasificación de estilos
Sistemas de flujo de datos
Sistemas basados en llamada y retorno
Sistemas de componentes independientes
Sistemas centrados en los datos
Máquinas virtuales
Sistemas heterogéneos

Monografias.com
19
Estilos y subestilos (I)
Sistemas de flujo de datos
Sucesión de transformaciones de los datos de entrada
Subestilos: pipe & filter y procesamiento por lotes
Sistemas basados en llamada y retorno
Reflejan la estructura del lenguaje de programación
Subestilos: programa principal-subrutina, OO, capas
Sistemas de componentes independientes
Componentes distribuidos que se comunican por paso de mensajes
Subestilos: sistemas cliente/servidor y de eventos

Monografias.com
20
Estilos y subestilos (II)
Sistemas centrados en los datos
Acceso compartido a un banco de datos central
Subestilos: repositorio y pizarras (blackboards)
Máquinas virtuales
Simulan una funcionalidad no nativa del entorno
Subestilos: intérpretes y sistemas basados en reglas
Sistemas heterogéneos
Localmente, jerárquicamente o simultáneamente heterogéneos

Monografias.com
21
Descripción de Arquitecturas
Diagramas informales de cajas y líneas
Imprecisos, ambiguos y no analizables
Lenguajes de programación modular
Mezclan aspectos de programación y estructurales
El análisis se basa en emparejamiento de nombres
Lenguajes de interconexión de módulos (MILs o IDLs)
Implican un determinado mecanismo de interacción
UML como notación arquitectónica
Lenguajes de Descripción de Arquitectura (LDAs)

Monografias.com
22
Lenguajes de Descripción de Arquitecturas (LDAs)
Un LDA es un lenguaje o notación para describir una arquitectura software:
Descripción de componentes, conectores y enlaces entre ellos.
Herramientas para la verificación de la arquitectura y el prototipado rápido.
Existen LDAs de propósito general y otros de dominio específico (DSLs)

Monografias.com
23
(Gp:) Sender
(Gp:) Receiver
(Gp:) Buffer
(Gp:) Arquitectura
Productor/Consumidor

(Gp:) Enlaces puertos/roles ¿ analizables ?

(Gp:) Puertos: describen el comportamiento de las componentes

(Gp:) writer
(Gp:) storage
(Gp:) reader
(Gp:) retrieval

(Gp:) Roles: describen el comportamiento de los conectores

Monografias.com
24
Requisitos de un ADL
Composición
Debe describir el sistema como una composición de partes
Configuración
Debe describir la arquitectura independientemente de los componentes
Abstracción
Debe describir los roles abstractos que juegan los componentes
Reutilización
Debe permitir reutilizar componentes, conectores, y arquitecturas
Heterogeneidad
Debe permitir combinar descripciones heterogéneas
Análisis
Debe permitir diversas formas de análisis de la arquitectura

Monografias.com
25
Ejemplos de LDAs
Ejemplos:
UNICON (Shaw et al. 1995)
Rapide (Luckham et al. 1995)
Darwin (Magee y Kramer, 1996; 1999)
Wright (Allen y Garlan, 1997; 1998)
Executable Connectors (Ducasse y Richner, 1997)
Problema: No cubren todo el ciclo de vida de las aplicaciones software (sólo diseño preliminar), no llegan a la implementación

Monografias.com
26
Ejemplos de LDAs : UNICON
Una pipe de Unix

connector Unix-pipe
protocol is
type pipe
role source is Source
MaxConns(1)
end source
role sink is Sink
MaxConns(1)
end sink
end protocol


implementation is
builtin
end implementation
end Unix-Pipe

Monografias.com
27
Ejemplos de LDAs : Wright
Una pipe de Unix
connector Pipe =
role WRITER = write ? WRITER ? close ? ?
role READER = let ExitOnly = close ??
in let DoRead = (read ? READER ? readEoF ? ExitOnly
in DoRead ? ExitOnly
glue = let ReadOnly = READER.read ? readOnly
? READER.readEoF ? READER.close ??
? READER.close ??
in let WriteOnly = WRITER.write ? WriteOnly ? WRITER.close??
in WRITER.write ? glue ? READER.read ? glue
? WRITE.close ? ReadOnly ? READER.close ? WriteOnly

Monografias.com
28
Ejemplos de LDAs : RAPIDE
type Application is interface
extern action Receive(p:params); // evento de entrada
public action Results(p:params); // evento de salida
behaviour
(?M in String) Receive(?M) => Results(?M); // transición de eventos
end Application;

architecture DistrApp(Num: Integer) return InterfaceDistrApp is
P : array(Integer) of Application;
Q: array(Integer) of Resource; //Dual of Application
connect
for i:Integer in 1..Num generate
(?M in String) P(i). Receive(?M) to Q(i).Results(?M);
P(i).Results(?M) to Q(i). Receive(?M);
end generate;
end DistrApp;

Monografias.com
29
Ejemplos de LDAs : Darwin
(Gp:) entrada
(Gp:) cabeza : Filtro
(Gp:) ant
(Gp:) salida
(Gp:) salida
(Gp:) : Pipeline
(Gp:) entrada
(Gp:) salida
(Gp:) cauce : Pipeline
(Gp:) sig

Monografias.com
30
LDAs del grupo GISUM
LDC + LDS (Fuentes y Troya, 1998)
Modelo de componentes pasivos y conectores reactivos
Formalismo de especificación de comportamiento de conectores (TDFs, ?-cálculo, etc.)
LEDA (Canal, Pimentel y Troya, 2000)
Basado en el álgebra de procesos ?-cálculo
Permite especificar arquitecturas dinámicas

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter